package com.platform.common.core.domain.export;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.common.core.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author mymac
 * @Date 2024/7/10 3:29 PM
 * @Version 1.0
 */
@Data
public class DepartFeeSettlementDTO {

    @Excel(name = "结算流水号")
    private String settlementSerialNo;

    @Excel(name = "应收/应收总价",cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal receivableAmount;

    @Excel(name = "实收/实付总价",cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal actualAmount;

//    @Excel(name = "付款人代码")
//    private String settleUserCode;

    @Excel(name = "付款人名称")
    private String settleUserName;

    @Excel(name = "结算方式",readConverterExp = "NOW_PAID=现结,DAY_PAID=日结,MONTH_PAID=月结")
    private String settleWay;

    @Excel(name = "支付方式",readConverterExp = "CASH=现金,POS_PAY=POS机支付,AGGREGATED_PAY=聚合支付,WECHAT_PAY=微信支付,ALIPAY_PAY=支付宝支付,TRANSFER=转账")
    private String payWay;

    @Excel(name = "结算状态",readConverterExp = "settled=已结算,pending_settlement=待结算,cancel_settlement=已撤销,settling=结算中")
    private String settleStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date settleTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "应收/应付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date receivableTime;

//    @Excel(name = "结算操作人代码")
//    private String settleOperatorCode;

    @Excel(name = "结算操作人名称")
    private String settleOperatorName;

    @Excel(name = "描述摘要")
    private String description;

    @Excel(name = "开票状态",readConverterExp = "NOT_INVOICED=未开票,INVOICING=开票中,INVOICED=开票完成,INVOICED_FAIL=开票失败,INVOICE_RED_DURING=冲红中,INVOICE_RED_SUCCESS=冲红成功,INVOICE_RED_FAIL=冲红失败")
    private String invoiceStatus;

    @Excel(name = "关联支付流水")
    private String paySerialNo;

    @Excel(name = "pos机号")
    private String posNo;

}
